As file transfer in the Internet etc., for example, file transfer processing using a particular protocol such as HTTP/FTP etc. among clients and servers is performed. However, when a file with a large size (capacity) has to be transferred, as protocols such as HTTP are not originally a protocol for transferring files, there are problems of a too long processing time (processing efficiency) etc.
When transferring a file with a large size, a possible way is dividing the file into a plurality of parts and transferring the parts. For example, the client terminal side reads a target file and divides it into a plurality of pieces (fragments) and transfers (transmits) each piece to a server via a network by HTTP etc. The server side receives each of the plurality of pieces and composes the original one file and stores the same. However, delay or loss of individual data is prone to occur in the Internet, and thus retry/resend is sometimes necessary when transferring a plurality of pieces of a file as described above due to the order of reception of the pieces being out of order or loss of the pieces. Therefore, when transferring the file by dividing it, there is also a problem in processing efficiency, etc.
As related art related to the file transfer described above, there are Japanese Patent Application Laid-Open Publication No. 2005-011119 (Patent Document 1; about a method of data transfer) and Japanese Patent Application Laid-Open Publication No. 8-305643 (Patent Document 2; about a method of file transfer), for example.
Patent Document 1 describes that, aiming for a method of data transfer not placing burden on a cache function on a communication path, for example, after a browser automatically compresses a file, the file is divided to a specified size and transmitted to a Web site in separate sessions per divided file, and the Web site extracts the transmitted file after integrating the same.
Patent Document 2 describes determining a number of dividing files and a number of TCP sessions based on a window size of a TCP protocol, a round-trip delay time and a line speed of a network, and dividing the file by the number and also establishing a plurality of TCP sessions for data transfer, thereby performing a data transfer.